Multi-channel communication systems are often susceptible to interference between the various channels, also referred to as crosstalk or inter-channel crosstalk. For example, digital subscriber line (DSL) broadband access systems typically employ discrete multi-tone (DMT) modulation over twisted-pair copper wires. One of the major impairments in such systems is crosstalk between multiple subscriber lines within the same binder or across binders. Thus, signals transmitted over one subscriber line may be coupled into other subscriber lines, leading to interference that can degrade the throughput performance of the system. More generally, a given “victim” channel may experience crosstalk from multiple “disturber” channels, again leading to undesirable interference.
Different techniques have been developed to mitigate, suppress or otherwise control crosstalk and to maximize effective throughput, reach and line stability. These techniques are gradually evolving from static or dynamic spectrum management techniques to multi-channel signal coordination.
By way of example, pre-compensation techniques allow active cancellation of inter-channel crosstalk through the use of a precoder. In DSL systems, the use of a precoder is contemplated to achieve crosstalk cancellation for downstream communications between a central office (CO) or another type of access node (AN) and customer premises equipment (CPE) units or other types of network terminals (NTs). It is also possible to implement crosstalk control for upstream communications from the NTs to the AN, using so-called post-compensation techniques implemented by a postcoder. Such pre-compensation and post-compensation techniques are also referred to as “vectoring,” and include G.vector technology, which was recently standardized in ITU-T Recommendation G.993.5.
One known approach to estimating crosstalk coefficients for downstream or upstream crosstalk cancellation in a DSL system involves transmitting distinct pilot signals over respective subscriber lines between an AN and respective NTs of the system. Error feedback from the NTs based on the transmitted pilot signals is then used to estimate crosstalk. Other known approaches involve perturbation of precoder coefficients and feedback of signal-to-noise ratio (SNR) or other interference information.
Multiple subscriber lines that are subject to pre-compensation or post-compensation for crosstalk cancellation in a DSL system may be referred to as a vectoring group. In conventional DSL systems, the number of lines in a vectoring group is subject to practical limitations based on the processor and memory resources required to perform pre-compensation or post-compensation operations. Such operations include the computation of matrix-vector products using precoder and postcoder matrices, respectively. If there are N lines in the vectoring group, the precoder or postcoder matrices associated with a particular subcarrier, or tone, are typically of dimension N×N For example, a given matrix-vector product computed in the precoder may be given by y=Cx, where y is an N×1 vector of pre-compensated signals, x is a corresponding N×1 vector of signals prior to pre-compensation, and C is the N×N precoder matrix. The number of entries in the precoder matrix thus increases as the square of the number of lines N in the vectoring group.
The precoder matrix C is ideally the inverse of the channel matrix of the system, and therefore must be updated as the channel crosstalk characteristics change, for example, in conjunction with channel activation or deactivation. Ideally the updates should converge quickly to the ideal values. Also, transient events such as activation or deactivation should not cause problems on lines that are not involved in the transient events. For example, an active line should not experience errors when a neighboring line activates or deactivates.
In the above-noted conventional techniques, the precoder matrix C is typically updated using an additive update process in which the updates are performed on an entry-by-entry basis. This additive process generally involves subtracting one or more entries of a residual channel matrix from corresponding entries of the current precoder matrix, and as indicated previously, this subtraction operation is performed independently for each entry of the precoder matrix that is updated. However, the additive update process can be problematic when the dimension of the precoder matrix is large, or under conditions involving large amounts of crosstalk such that the magnitudes of the corresponding matrix elements are large. For example, the convergence of a sequence of updates may be slow, or the sequence of updates may not converge at all. Even in the case of convergence, some lines may experience significant transient increases in crosstalk when corrections are made to another line. This can cause errors or necessitate re-training.
Another possible approach is to maintain an actual channel matrix rather than a residual channel matrix, and then periodically compute the inverse of the channel matrix to determine the appropriate precoder matrix. The inverse computation may be repeated whenever any of the crosstalk estimates are updated. The problem with this approach is that computing the inverse of the channel matrix is computationally intensive, and therefore impractical for use with large vectoring groups.
Accordingly, for large values of N, the updating of the precoder matrix using conventional techniques can consume large amounts of processing and memory resources, and may also require a substantial amount of time to complete. As a result, implementation of effective crosstalk cancellation with a large vectoring group can be impractical using conventional techniques.